package com.kylin.common.paginate;


import java.util.List;

public interface Page {
	/**
     * 是否第一页
	 * @return
	 */
	boolean isFirstPage();

	/**
     * 是否最后一页
	 * @return
	 */
	boolean isLastPage();

	/**
     * 是否有下一页.
	 * @return
	 */
	boolean hasNextPage();

	/**
     * 是否有上一页
	 * @return
	 */
	boolean hasPreviousPage();

	/**
     * 得到最后一页的页码数.
	 * @return
	 */
	int getLastPageNumber();

	/**
     * 得到当前页要显示的记录列表.
	 * @return
	 */
	List getRecordes();
    
    /**
     * 得到当前页要显示的记录列表.
     * @return
     */
    public void setRecordes(List l);

	/**
     * 总纪录数
	 * @return
	 */
	int getTotalCount();

//	/**
//     * 得到该页的第一条记录在总纪录数中的位置.
//	 * @return
//	 */
//	int getFirstRecordNumber();
//
//	/**
//     * 得到该页的最后一条记录在总纪录数中的位置.
//	 * @return
//	 */
//	int getLastRecordNumber();
//
	/**
     * 下一页码数
	 * @return
	 */
	int getNextPageNumber();

	/**
     * 上一页码数
	 * @return
	 */
	int getPreviousPageNumber();

	/**
     * 每页显示的纪录数量.
	 * @return
	 */
	int getPageSize();
	
    
	/**
     * 得到当前的pageNumber.
	 * @return
	 */
	int getPageNumber();
}
